home *** CD-ROM | disk | FTP | other *** search
- /*
- ##########################################################################
- #### ####
- #### The MusicBox Project ####
- #### ============================ ####
- #### ####
- #### MusicBoxGUI.c ####
- #### ####
- #### Version 2.1os -- September 29, 2000 ####
- #### ####
- #### Copyright (C) 1994 Thomas Dreibholz ####
- #### 2000 Molbachweg 7 ####
- #### 51674 Wiehl ####
- #### Germany ####
- #### ####
- #### EMail: Dreibholz@bigfoot.com ####
- #### WWW: http://www.bigfoot.com/~dreibholz ####
- #### ####
- ##########################################################################
- */
- /***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
- /* MusicBox Benutzeroberfläche */
-
- #include "MusicBox-GUI.h"
- #include "MusicBox.h"
-
- extern struct Einstellungen Einstellungen;
- extern struct Catalog *Catalog;
- extern BOOL LowRes;
- extern BOOL FastExit;
-
- struct Screen *Scr = NULL;
- UBYTE *PubScreenName = NULL;
- APTR VisualInfo = NULL;
- struct Window *CDPlayerWnd = NULL;
- struct Gadget *CDPlayerGList = NULL;
- struct Gadget *VolumeDownL,
- *VolumeDownR,
- *PositionDown = NULL;
- struct Menu *CDPlayerMenus = NULL;
- struct IntuiMessage CDPlayerMsg;
- struct TextFont *Font = NULL;
- struct Gadget *CDPlayerGadgets[CDPlayer_CNT];
- UWORD CDPlayerLeft = 0;
- UWORD CDPlayerTop = 32;
- UWORD CDPlayerWidth = 632;
- UWORD CDPlayerHeight = 244;
- UBYTE *CDPlayerWdt = (UBYTE *)TITEL;
-
- struct TextAttr topaz11 = {
- ( STRPTR )"times.font", 15, 0x00, 0x42 };
-
- #define TEXTE 41
-
- UBYTE *Texte[TEXTE]=
- {
- "Project",
- "Load preferences",
- "Save preferences",
- NULL,
- "Setup printer...",
- "Print...",
- NULL,
- "Iconify...",
- "About MusicBox...",
- "Help...",
- NULL,
- "Quit MusicBox",
- "Preferences",
- "Auto functions",
- "Auto-repeat",
- "Auto-play",
- NULL,
- "Auto-save catalog",
- "Load full catalog quietly",
- "Flush resources",
- "Display",
- "Elapsed track time",
- "Elapsed CD time",
- NULL,
- "Remaining track time",
- "Remaining CD time",
- "Format",
- "Mins/Secs/Frames",
- "32-Bit Address",
- "Percent",
- "Megabytes",
- NULL,
- "Joystick",
- "Off",
- "Level I",
- "Level II",
- "Information",
- "Display full catalog...",
- NULL,
- "About current CD",
- "About CD-ROM-drive",
- };
-
- struct NewMenu CDPlayerNewMenu[] = {
- NM_TITLE, NULL, NULL, 0, NULL, NULL,
- NM_ITEM, NULL, (STRPTR)"L", 0, 0L, (APTR)PrefsLaden,
- NM_ITEM, NULL, (STRPTR)"S", 0, 0L, (APTR)PrefsSichern,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, NULL, (STRPTR)"W", 0, 0L, (APTR)SetupPrinter,
- NM_ITEM, NULL, (STRPTR)"P", 0, 0L, (APTR)Print,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, NULL, (STRPTR)"I", 0, 0L, 0xFFFFFFFF,
- NM_ITEM, NULL, (STRPTR)"#", 0, 0L, (APTR)Information,
- NM_ITEM, NULL, (STRPTR)"H", 0, 0L, (APTR)Hilfe,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, NULL, (STRPTR)"Q", 0, 0L, 0xFFFFFFFE,
-
- NM_TITLE, NULL, NULL, 0, NULL, NULL,
-
- NM_ITEM, NULL, NULL, 0, NULL, NULL,
- NM_SUB, NULL, (STRPTR)"R", CHECKIT|MENUTOGGLE|CHECKED, 0L, (APTR)AutoRepeat,
- NM_SUB, NULL, (STRPTR)"G", CHECKIT|MENUTOGGLE|CHECKED, 0L, (APTR)AutoStart,
-
- NM_SUB, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_SUB, NULL, (STRPTR)"Y", CHECKIT|MENUTOGGLE|CHECKED, 0L, (APTR)AutoSave,
- NM_SUB, NULL, (STRPTR)"$", CHECKIT|MENUTOGGLE|CHECKED, 0L, (APTR)AutoLoad,
- NM_SUB, NULL, (STRPTR)"&", CHECKIT|MENUTOGGLE|CHECKED, 0L, (APTR)AutoFlush,
-
- NM_ITEM, NULL, NULL, 0, NULL, NULL,
- NM_SUB, NULL, (STRPTR)"T", CHECKIT|MENUTOGGLE|CHECKED, 26L, (APTR)Zeit1,
- NM_SUB, NULL, (STRPTR)"A", CHECKIT|MENUTOGGLE, 25L, (APTR)Zeit2,
- NM_SUB, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_SUB, NULL, (STRPTR)"F", CHECKIT|MENUTOGGLE, 19L, (APTR)Zeit3,
- NM_SUB, NULL, (STRPTR)"E", CHECKIT|MENUTOGGLE, 11L, (APTR)Zeit4,
-
- NM_ITEM, NULL, NULL, 0, NULL, NULL,
- NM_SUB, NULL, (STRPTR)"Z", CHECKIT|MENUTOGGLE|CHECKED, 14L, (APTR)Format1,
- NM_SUB, NULL, (STRPTR)"B", CHECKIT|MENUTOGGLE, 13L, (APTR)Format2,
- NM_SUB, NULL, (STRPTR)"D", CHECKIT|MENUTOGGLE, 11L, (APTR)Format3,
- NM_SUB, NULL, (STRPTR)"M", CHECKIT|MENUTOGGLE, 7L, (APTR)Format4,
-
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, NULL, NULL, 0, NULL, NULL,
- NM_SUB, NULL, (STRPTR)"0", CHECKIT|MENUTOGGLE, 6L, (APTR)JoystickA,
- NM_SUB, NULL, (STRPTR)"1", CHECKIT|MENUTOGGLE, 5L, (APTR)Joystick1,
- NM_SUB, NULL, (STRPTR)"2", CHECKIT|CHECKED|MENUTOGGLE, 3L, (APTR)Joystick2,
-
- NM_TITLE, NULL, NULL, 0, NULL, NULL,
- NM_ITEM, NULL, (STRPTR)"K", 0, 0L, (APTR)Gesamtkatalog,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, NULL, (STRPTR)"C", 0, 0L, (APTR)AboutCD,
- NM_ITEM, NULL, (STRPTR)"N", 0, 0L, (APTR)AboutDrive,
-
- NM_END, NULL, NULL, 0, 0L, NULL };
-
- UWORD CDPlayerGTypes[] = {
- LISTVIEW_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- CYCLE_KIND,
- CYCLE_KIND,
- SLIDER_KIND,
- STRING_KIND,
- SLIDER_KIND,
- CHECKBOX_KIND,
- SLIDER_KIND,
- CYCLE_KIND,
- };
-
- struct NewGadget CDPlayerNGad[] = {
- 397, -12, 228, 174, NULL, NULL, GD_Liste, 0, NULL, (APTR)ListeClicked,
- 339, 52, 37, 19, (UBYTE *)"_9", NULL, GD_T9, PLACETEXT_IN, NULL, (APTR)T9Clicked,
- 339, 76, 37, 19, (UBYTE *)"_6", NULL, GD_T6, PLACETEXT_IN, NULL, (APTR)T6Clicked,
- 339, 100, 37, 19, (UBYTE *)"_3", NULL, GD_T3, PLACETEXT_IN, NULL, (APTR)T3Clicked,
- 295, 52, 37, 19, (UBYTE *)"_8", NULL, GD_T8, PLACETEXT_IN, NULL, (APTR)T8Clicked,
- 295, 76, 37, 19, (UBYTE *)"_5", NULL, GD_T5, PLACETEXT_IN, NULL, (APTR)T5Clicked,
- 295, 100, 37, 19, (UBYTE *)"_2", NULL, GD_T2, PLACETEXT_IN, NULL, (APTR)T2Clicked,
- 250, 52, 37, 19, (UBYTE *)"_7", NULL, GD_T7, PLACETEXT_IN, NULL, (APTR)T7Clicked,
- 250, 76, 37, 19, (UBYTE *)"_4", NULL, GD_T4, PLACETEXT_IN, NULL, (APTR)T4Clicked,
- 250, 100, 37, 19, (UBYTE *)"_1", NULL, GD_T1, PLACETEXT_IN, NULL, (APTR)T1Clicked,
- 250, 124, 37, 19, (UBYTE *)"_0", NULL, GD_T0, PLACETEXT_IN, NULL, (APTR)T0Clicked,
- 295, 124, 37, 19, (UBYTE *)"OK", NULL, GD_TStern, PLACETEXT_IN, NULL, (APTR)TSternClicked,
- 10, 52, 126, 19, NULL, NULL, GD_Wiedergabe, PLACETEXT_IN, NULL, (APTR)WiedergabeClicked,
- 10, 76, 126, 19, NULL, NULL, GD_Stop, PLACETEXT_IN, NULL, (APTR)StopClicked,
- 10, 100, 60, 19, (UBYTE *)"<_<", NULL, GD_Ruecklauf, PLACETEXT_IN, NULL, (APTR)RuecklaufClicked,
- 76, 100, 60, 19, (UBYTE *)"_>>", NULL, GD_Vorlauf, PLACETEXT_IN, NULL, (APTR)VorlaufClicked,
- 251, 152, 37, 19, (UBYTE *)"_-", NULL, GD_Minus, PLACETEXT_IN, NULL, (APTR)MinusClicked,
- 339, 152, 37, 19, (UBYTE *)"_+", NULL, GD_Plus, PLACETEXT_IN, NULL, (APTR)PlusClicked,
- 338, 124, 37, 19, (UBYTE *)"_?", NULL, GD_TNumber, PLACETEXT_IN, NULL, (APTR)TNumberClicked,
- 10, 152, 71, 19, NULL, NULL, GD_Auswurf, PLACETEXT_IN, NULL, (APTR)AuswurfClicked,
- 86, 152, 49, 19, NULL, NULL, GD_Lock, PLACETEXT_IN, NULL, (APTR)LockClicked,
- 173, 52, 59, 18, NULL, NULL, GD_AudioL, PLACETEXT_LEFT,NULL, (APTR)AudioLClicked,
- 173, 128, 59, 18, NULL, NULL, GD_AudioR, PLACETEXT_LEFT,NULL, (APTR)AudioRClicked,
- 153, 76, 79, 19, (UBYTE *)0L, NULL, GD_VolumeL, PLACETEXT_ABOVE, NULL, (APTR)VolumeLClicked,
- 397, 160, 228, 19, NULL, NULL, GD_Titel, 0, NULL, (APTR)TitelClicked,
- 153, 152, 79, 19, (UBYTE *)0L, NULL, GD_VolumeR, PLACETEXT_ABOVE, NULL, (APTR)VolumeRClicked,
- 205, 102, 20, 11, NULL, NULL, GD_Kopplung, PLACETEXT_LEFT, NULL, (APTR)KopplungClicked,
- 10, 120, 126, 19, (UBYTE *)0L, NULL, GD_Position, PLACETEXT_ABOVE, NULL, (APTR)PositionClicked,
- 466, 184, 155, 18, NULL, NULL, GD_AuswahlModus, PLACETEXT_IN, NULL, (APTR)AuswahlmodusClicked
- };
-
- struct List Liste = { NULL, NULL, NULL, 0};
-
- UBYTE *AudioLLabels[]={0L,0L,0L,0L,0L};
- UBYTE *AudioRLabels[]={0L,0L,0L,0L,0L};
- UBYTE *AuswahlModusLabels[]={0L,0L,0L};
-
- ULONG *CDPlayerGTags[] = {
- (ULONG *)(GTLV_Labels), (ULONG *)&Liste,
- (ULONG *)(TAG_DONE),
-
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
-
- (ULONG *)(GTCY_Labels), (ULONG *)&AudioLLabels[ 0 ], (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
- (ULONG *)(GTCY_Labels), (ULONG *)&AudioRLabels[ 0 ], (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
-
- /* Lautstärke-Regler */
-
- (ULONG *)(GA_FollowMouse), (ULONG *)TRUE,
- (ULONG *)(GTSL_Max), (ULONG *)255,
- (ULONG *)(PGA_Freedom), (ULONG *)LORIENT_HORIZ,
- (ULONG *)(GA_RelVerify), (ULONG *)TRUE,
- (ULONG *)(GA_Immediate),(ULONG *)TRUE,
- (ULONG *)(GT_Underscore), (ULONG *)'_',
- (ULONG *)(GTSL_Level), (ULONG *)255,(TAG_DONE),
-
- (ULONG *)(GTST_MaxChars), (ULONG *)49, (ULONG *)(TAG_DONE),
-
- (ULONG *)(GA_FollowMouse), (ULONG *)TRUE,
- (ULONG *)(GTSL_Max), (ULONG *)255,
- (ULONG *)(PGA_Freedom), (ULONG *)LORIENT_HORIZ,
- (ULONG *)(GA_RelVerify), (ULONG *)TRUE,
- (ULONG *)(GA_Immediate),(ULONG *)TRUE,
- (ULONG *)(GT_Underscore), (ULONG *)'_',
- (ULONG *)(GTSL_Level), (ULONG *)255,(TAG_DONE),
-
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE,
- (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
-
- (ULONG *)(GA_FollowMouse), (ULONG *)TRUE,
- (ULONG *)(GTSL_Max), (ULONG *)290000,
- (ULONG *)(PGA_Freedom), (ULONG *)LORIENT_HORIZ,
- (ULONG *)(GA_RelVerify), (ULONG *)TRUE,
- (ULONG *)(GA_Immediate),(ULONG *)TRUE,
- (ULONG *)(GT_Underscore), (ULONG *)'_',
- (ULONG *)(GTSL_Level), (ULONG *)150000,(TAG_DONE),
-
- (ULONG *)(GTCY_Labels), (ULONG *)&AuswahlModusLabels,
- };
-
- int SetupScreen()
- {
- if ( ! ( Scr = LockPubScreen( PubScreenName )))
- {
- Error(GS(26,"Unable to lock public screen!"));
- return( 1L );
- }
-
- if(Scr->Height<300)
- LowRes=TRUE;
- if(LowRes==TRUE)
- {
- topaz11.ta_Name="topaz.font";
- topaz11.ta_YSize=9;
- }
-
- if ( ! ( Font = OpenDiskFont( &topaz11 )))
- {
- if(LowRes==FALSE)
- Error(GS(25,"Unable to load font: times.font 15"));
- else
- Error(GS(77,"Unable to load font: topaz.font 9"));
- return( 5L );
- }
-
- if ( ! ( VisualInfo=GetVisualInfoA( Scr, NULL )))
- {
- Error(GS(30,"Unable to get VisualInfo."));
- return( 2L );
- }
-
- return( 0L );
- }
-
- void CloseDownScreen()
- {
- if ( VisualInfo ) {
- FreeVisualInfo( VisualInfo );
- VisualInfo = NULL;
- }
-
- if ( Scr ) {
- UnlockPubScreen( NULL, Scr );
- Scr = NULL;
- }
-
- if ( Font ) {
- CloseFont( Font );
- Font = NULL;
- }
- }
-
- void DrawBevelBox2(rp,x,y,w,h,tag)
- APTR rp;
- UWORD x,y,w,h;
- APTR tag;
- {
- if(LowRes==TRUE)
- {
- h=(h*2)/3+1;
- y=((y*2)/3)+26;
- }
- DrawBevelBoxA(rp,x,y,w,h,tag);
- }
-
- void CDPlayerRender()
- {
- UWORD offx, offy;
- struct TagItem tag[2];
- struct TagItem tagr[3];
-
- offx = OffsetX(CDPlayerWnd);
- offy = OffsetY(CDPlayerWnd);
-
- tag[0].ti_Tag = GT_VisualInfo;
- tag[0].ti_Data = VisualInfo;
- tag[1].ti_Tag = TAG_DONE;
- tagr[0].ti_Tag = GT_VisualInfo;
- tagr[0].ti_Data = VisualInfo;
- tagr[1].ti_Tag = GTBB_Recessed;
- tagr[1].ti_Data = TRUE;
- tagr[2].ti_Tag = TAG_DONE;
-
- DrawBevelBox2( CDPlayerWnd->RPort, offx + 296, offy + 152, 37, 19, &tagr );
- DrawBevelBox2( CDPlayerWnd->RPort, offx + 4, offy + 148, 139, 26, &tag );
- DrawBevelBox2( CDPlayerWnd->RPort, offx + 146, offy + 46, 92, 128, &tag );
- DrawBevelBox2( CDPlayerWnd->RPort, offx + 4, offy + 46, 139, 98, &tag );
- DrawBevelBox2( CDPlayerWnd->RPort, offx + 241, offy + 46, 143, 128, &tag );
- DrawBevelBox2( CDPlayerWnd->RPort, offx + -2, offy + 42, 393, 137, &tag );
- if(LowRes==FALSE)
- DrawBevelBoxA( CDPlayerWnd->RPort, offx + -2, offy + 182, 627, 41, &tagr );
- else
- DrawBevelBoxA( CDPlayerWnd->RPort, offx + -2, offy + ((182*2)/3)+17, 627, 41, &tagr );
- DrawBevelBoxA( CDPlayerWnd->RPort, offx + -2, offy + -12, 393, 51, &tagr );
- }
-
- int HandleCDPlayerIDCMP()
- {
- struct Gadget *gad;
- struct IntuiMessage *m;
- struct MenuItem *n;
- int (*func)();
- BOOL running = 1;
-
- while( m = GTGetIMsg( CDPlayerWnd->UserPort )) {
-
- CopyMem(( char * )m, ( char * )&CDPlayerMsg, (long)sizeof( struct IntuiMessage ));
-
- GTReplyIMsg( m );
-
- switch ( CDPlayerMsg.Class ) {
- case IDCMP_REFRESHWINDOW:
- Einstellungen.Titel=255;
- Einstellungen.Auswahl=255;
- GTBeginRefresh( CDPlayerWnd );
- CDPlayerRender();
- CDDisplay();
- GTEndRefresh( CDPlayerWnd, TRUE );
- break;
-
- case IDCMP_CLOSEWINDOW:
- if(FastExit==TRUE)
- running = 0;
- else
- running = 2;
- break;
-
- case IDCMP_GADGETUP:
- gad = CDPlayerMsg.IAddress;
- func = ( void * )gad->UserData;
- func(TRUE,CDPlayerMsg.Code);
- if(gad->GadgetID==GD_VolumeL) VolumeDownL=NULL;
- else if(gad->GadgetID==GD_VolumeR) VolumeDownR=NULL;
- else if(gad->GadgetID==GD_Position) PositionDown=NULL;
- break;
-
- case IDCMP_GADGETDOWN:
- gad = CDPlayerMsg.IAddress;
- func = ( void * )gad->UserData;
- func(FALSE,CDPlayerMsg.Code);
- if(gad->GadgetID==GD_VolumeL) VolumeDownL=gad;
- else if(gad->GadgetID==GD_VolumeR) VolumeDownR=gad;
- else if(gad->GadgetID==GD_Position)
- {
- if(Einstellungen.Funktion!=STANDBY) Symbol(POSITION);
- PositionDown=gad;
- }
- break;
-
- case IDCMP_MOUSEMOVE:
- if(VolumeDownL!=NULL)
- VolumeLClicked(FALSE,CDPlayerMsg.Code);
- else if(VolumeDownR!=NULL)
- VolumeRClicked(FALSE,CDPlayerMsg.Code);
- else if(PositionDown!=NULL)
- PositionClicked(FALSE,CDPlayerMsg.Code);
- break;
-
- case IDCMP_VANILLAKEY:
- switch(toupper((UBYTE)CDPlayerMsg.Code))
- {
- case 'W':
- case 'P':
- WiedergabeClicked();
- break;
- case 'S':
- StopClicked();
- break;
- case '<':
- RuecklaufClicked();
- break;
- case '>':
- VorlaufClicked();
- break;
- case 'E':
- case 'F':
- AuswurfClicked();
- break;
- case 'O':
- LockClicked();
- break;
- case 'K':
- case 'I':
- case '=':
- KopplungPressed();
- break;
- case 'L':
- if(CDPlayerMsg.Code=='l')
- {
- switch(Einstellungen.AudioL)
- {
- case AUDIO_LINKS:
- AudioLClicked(FALSE,1);
- break;
- case AUDIO_RECHTS:
- AudioLClicked(FALSE,2);
- break;
- case AUDIO_BEIDE:
- AudioLClicked(FALSE,3);
- break;
- case AUDIO_AUS:
- AudioLClicked(FALSE,0);
- break;
- }
- }
- else
- {
- switch(Einstellungen.AudioL)
- {
- case AUDIO_LINKS:
- AudioLClicked(FALSE,3);
- break;
- case AUDIO_RECHTS:
- AudioLClicked(FALSE,0);
- break;
- case AUDIO_BEIDE:
- AudioLClicked(FALSE,1);
- break;
- case AUDIO_AUS:
- AudioLClicked(FALSE,2);
- break;
- }
- }
- break;
- case 'R':
- if(CDPlayerMsg.Code=='r')
- {
- switch(Einstellungen.AudioR)
- {
- case AUDIO_RECHTS:
- AudioRClicked(FALSE,1);
- break;
- case AUDIO_LINKS:
- AudioRClicked(FALSE,2);
- break;
- case AUDIO_BEIDE:
- AudioRClicked(FALSE,3);
- break;
- case AUDIO_AUS:
- AudioRClicked(FALSE,0);
- break;
- }
- }
- else
- {
- switch(Einstellungen.AudioR)
- {
- case AUDIO_RECHTS:
- AudioRClicked(FALSE,3);
- break;
- case AUDIO_LINKS:
- AudioRClicked(FALSE,0);
- break;
- case AUDIO_BEIDE:
- AudioRClicked(FALSE,1);
- break;
- case AUDIO_AUS:
- AudioRClicked(FALSE,2);
- break;
- }
- }
- break;
- case '0':
- Num(0);
- break;
- case '1':
- Num(1);
- break;
- case '2':
- Num(2);
- break;
- case '3':
- Num(3);
- break;
- case '4':
- Num(4);
- break;
- case '5':
- Num(5);
- break;
- case '6':
- Num(6);
- break;
- case '7':
- Num(7);
- break;
- case '8':
- Num(8);
- break;
- case '9':
- Num(9);
- break;
- case '#':
- TClearClicked();
- break;
- case '?':
- TNumberClicked();
- break;
- case '*':
- case 13:
- TSternClicked();
- break;
- case '+':
- PlusClicked();
- break;
- case '-':
- MinusClicked();
- break;
- }
- break;
-
- case IDCMP_MENUPICK:
- while( CDPlayerMsg.Code != MENUNULL ) {
- n = ItemAddress( CDPlayerMenus, CDPlayerMsg.Code );
- func = (void *)(GTMENUITEM_USERDATA( n ));
- if(!(func==0xFFFFFFFF))
- if(func==0xFFFFFFFE)
- running=0;
- else
- func(n);
- else
- running=2;
- CDPlayerMsg.Code = n->NextSelect;
- }
- break;
- }
- }
- return( running );
- }
-
- int OpenCDPlayerWindow()
- {
- struct TagItem tag[11];
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- AudioLLabels[0]=GS(48,"L");
- AudioLLabels[1]=GS(49,"R");
- AudioLLabels[2]=GS(50,"L+R");
- AudioLLabels[3]=GS(51,"Off");
- AudioRLabels[0]=GS(49,"R");
- AudioRLabels[1]=GS(48,"L");
- AudioRLabels[2]=GS(50,"L+R");
- AudioRLabels[3]=GS(51,"Off");
- AuswahlModusLabels[0]=GS(75,"Sequential");
- AuswahlModusLabels[1]=GS(76,"Shuffle");
- if(LowRes==FALSE)
- CDPlayerNGad[GD_Wiedergabe].ng_GadgetText=GS(400,"_Play/Pause");
- else
- CDPlayerNGad[GD_Wiedergabe].ng_GadgetText=GS(407,"_Play/Pause");
- CDPlayerNGad[GD_Stop].ng_GadgetText=GS(401,"_Stop");
- CDPlayerNGad[GD_Auswurf].ng_GadgetText=GS(402,"_Eject");
- CDPlayerNGad[GD_AudioL].ng_GadgetText=GS(403,"_L");
- CDPlayerNGad[GD_AudioR].ng_GadgetText=GS(404,"_R");
- CDPlayerNGad[GD_Kopplung].ng_GadgetText=GS(405,"L_=R");
- CDPlayerNGad[GD_Lock].ng_GadgetText=GS(406,"L_ock");
-
- if ( ! ( g = CreateContext( &CDPlayerGList )))
- {
- Error(GS(31,"Unable to create gadgets!"));
- return( 1L );
- }
-
- for( lc = 0, tc = 0; lc < CDPlayer_CNT; lc++ ) {
-
- CopyMem((char * )&CDPlayerNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz11;
- ng.ng_LeftEdge += offx+4;
- ng.ng_TopEdge += offy+17;
- if(LowRes==TRUE)
- {
- if(lc!=0)
- {
- ng.ng_TopEdge = (ng.ng_TopEdge*2)/3;
- ng.ng_TopEdge += 26;
- }
- ng.ng_Height = (ng.ng_Height*2)/3+1;
- if(lc==GD_Titel)
- ng.ng_Height=13;
- else if(lc==GD_Liste)
- ng.ng_Height=130;
- else if(lc==GD_AuswahlModus)
- ng.ng_TopEdge+=2;
- }
-
- CDPlayerGadgets[ lc ] = g = CreateGadgetA((ULONG)CDPlayerGTypes[ lc ], g, &ng, ( struct TagItem * )&CDPlayerGTags[ tc ] );
-
- while( CDPlayerGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- {
- Error(GS(31,"Unable to create gadgets!"));
- return( 2L );
- }
- }
-
- for(tc=0;tc<TEXTE;tc++)
- {
- if(CDPlayerNewMenu[tc].nm_Label==NULL)
- {
- Texte[tc]=GS(200+tc,Texte[tc]);
- CDPlayerNewMenu[tc].nm_Label=Texte[tc];
- }
- }
-
- tag[0].ti_Tag = GTMN_FrontPen;
- tag[0].ti_Data = 0L;
- tag[1].ti_Tag = TAG_DONE;
- if ( ! ( CDPlayerMenus = CreateMenusA( CDPlayerNewMenu, &tag )))
- {
- Error(GS(32,"Unable to create menus!"));
- return( 3L );
- }
-
- LayoutMenusA( CDPlayerMenus, VisualInfo, NULL);
-
- tag[0].ti_Tag=WA_Left;
- tag[0].ti_Data=CDPlayerLeft;
- tag[1].ti_Tag=WA_Top;
- tag[1].ti_Data=CDPlayerTop;
- tag[2].ti_Tag=WA_InnerWidth;
- tag[2].ti_Data=CDPlayerWidth;
- tag[3].ti_Tag=WA_InnerHeight;
- tag[3].ti_Data=CDPlayerHeight;
- if(LowRes==TRUE)
- {
- tag[1].ti_Data=0;
- tag[3].ti_Data=((tag[3].ti_Data*2)/3)+36;
- }
- tag[4].ti_Tag=WA_IDCMP;
- tag[4].ti_Data=CYCLEIDCMP|IDCMP_VANILLAKEY|LISTVIEWIDCMP|STRINGIDCMP|BUTTONIDCMP|CHECKBOXIDCMP|SLIDERIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW;
- tag[5].ti_Tag= WA_Flags;
- tag[5].ti_Data=WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|ACTIVATE;
- tag[6].ti_Tag=WA_Gadgets;
- tag[6].ti_Data=CDPlayerGList;
- tag[7].ti_Tag=WA_Title;
- tag[7].ti_Data=CDPlayerWdt;
- tag[8].ti_Tag=WA_PubScreen;
- tag[8].ti_Data=Scr;
- tag[9].ti_Tag=TAG_DONE;
- if ( ! ( CDPlayerWnd = OpenWindowTagList( NULL, &tag )))
- {
- Error(GS(33,"Unable to open window!"));
- return( 4L );
- }
-
- SetMenuStrip( CDPlayerWnd, CDPlayerMenus );
- GTRefreshWindow( CDPlayerWnd, NULL );
-
- CDPlayerRender();
-
- return( 0L );
- }
-
- void CloseCDPlayerWindow()
- {
- if ( CDPlayerMenus ) {
- ClearMenuStrip( CDPlayerWnd );
- FreeMenus( CDPlayerMenus );
- CDPlayerMenus = NULL; }
-
- if ( CDPlayerWnd ) {
- CloseWindow( CDPlayerWnd );
- CDPlayerWnd = NULL;
- }
-
- if ( CDPlayerGList ) {
- FreeGadgets( CDPlayerGList );
- CDPlayerGList = NULL;
- }
- }
-